#[[指定CMake的最低版本要求，如果当前系统上的CMake版本低于指定的最低版本，CMake将会报错并停止构建]]
cmake_minimum_required(VERSION 3.26)
#[[项目名称]]
#project(c_demo C)

#[[指定C语言版本，最好是最新的，C11是目前最新标准]]
#set(CMAKE_C_STANDARD 11)


#[[将c-demo项目下的main.c文件添加为可编译执行的文件,可以添加多个]]
#add_executable(c_demo main.c)

#[[------------------将当前项目下的.c文件设置为可编译执行文件------------------------]]
#[[CMAKE_CURRENT_SOURCE_DIR 当前项目目录的项目名称 ProjectId就是变量名称]]
get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME)
#[[如果项目名称存在空格，就将其替换成_]]
string(REPLACE " " "_" ProjectId ${ProjectId})
project(${ProjectId} C)

set(CMAKE_C_STANDARD 11)

# 引入头文件指定目录，可以直接用名称
include_directories("include")


#[[遍历CMAKE_CURRENT_SOURCE_DIR目录下所有.c文件，将其添加为为可编译执行文件]]
file(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.c")
foreach(file ${files})
    get_filename_component(name ${file} NAME)
    add_executable(${name} ${file}
            src/factorial.c)
endforeach()

